The present invention generally relates to the implementation of multipoint buses and, more particularly, to a robust message decoder for serial bus applications and a method for decoding a message during high-speed communication.
The implementation of multipoint serial buses is very common in current communication technologies. A multipoint bus, which is a shared bus that includes multiple drivers, at least one receiver, and two terminations, is typically implemented as either a single-ended technology or as a differential signaling technology. However, high-speed versions of multipoint serial buses that include many nodes are not common due to a multitude of technical challenges. These technical challenges are associated mainly with physical layer impedance characteristics from cabling, connectors, transceivers, and terminators.
IntelliBus™ technology, a communication protocol physical layer implementation, was developed by The Boeing Company, Illinois, U.S.A., to provide higher performance yet simpler, lighter, more functional and affordable on-board network systems for advanced military aircraft. The IntelliBus™ communication technology uses, for example, a high-speed differential data bus physical layer for some of its applications. Differential signaling on the data bus usually means that each wire on the bus is switched between a low voltage potential and a high voltage potential above zero with respect to a common mode ground. The potentials on each wire are typically 180 degrees out of phase with each other. For example, line A may be 3 volts while line B may be 1 volt to indicate a logic 1 and line A may be 1 volt and line B may be 3 volts to indicate a logic 0. Differentially, these signals will be centered around 0 volts with the voltage between the two lines A and B being a positive voltage for one state and a negative voltage for the other state. In multipoint, tri-stating differential bus systems, the characteristics of high-speed signaling begin to become “non-ideal” due to factors such as impedance mismatches, capacitive bunching, line resistance, and transceiver impedances. External sources can also produce small amounts of differential noise that can be slightly greater than the built-in hysteresis of the receivers. These non-ideal conditions can create a variety of issues that must be considered when receiving signals from other devices on the bus.
Typical methods used to improve bus performance may include, for example, introducing a weak differential voltage bias to the bus. The bias may be added between the two signal lines, which may keep the receivers out of the hysteresis range and in a particular logic state. Data messages sent on the bus override the weak bias and drive the bus as necessary to produce the signals required to create the message. On a command-response type of bus, only one device can drive the bus at a time. When the driving device completes its message, the driver turns off. The weak bias is then in control until another device drives the bus. The weak bias will draw the bus voltage to the potential of the bias. When a device stops driving the bus, the bus will be tristated with a weak bias. The weak bias does not drive the bus as hard as a transmitting device. Depending on the bus construction (length, number of nodes, etc.) the differential voltage on the bus will taper off from the driven state to the bias voltage potential much slower than the driven state changes. In addition, the release of the driven state typically causes some ringing to occur. The frequency and duration of the ringing and the duration of time to get to the bias state depends on many characteristics, such as bus length, bus capacitance and resistance. This ringing can usually not be avoided. Generally, adding a bias cannot keep random data patterns from being received by a message decoder and from activating the message decoder when the bus is in a tristate (undriven) condition. Furthermore, specifying a maximum stub length, which is the distance of a wiretap from the device to the main bus line, usually minimizes the ringing of driven signals on the bus. Specifying minimum distances between devices can minimize capacitive bunching that may round off the square edges of a signal. Still further, high quality cable that has a well maintained characteristic impedance might generally promote good signal quality.
While these safeguards are important, they cannot guarantee that a properly formatted signal will be received. Certain signal anomalies—such as rise and/or fall time degradation, amplitude degradation, and some bus ringing—must be expected on a bus. These signal anomalies need to be ignored by the message decoder receiver if the maximum possible performance is to be extracted from a differential multi-point signal bus.
As can be seen, there is a need for a message decoder that enables the identification of true bit messages at high bit message rates. Furthermore, there is a need for a message decoder that tolerates bus anomalies, such as ringing, on high-speed multipoint serial busses since bus anomalies cannot be avoided. Still further, there is a need for a method for decoding messages during high-speed communication on a multipoint serial bus that tolerates bus anomalies without causing problems.
There has, therefore, arisen a need to provide a robust message decoder that reliably detects true bit messages during high-speed communication on a multipoint serial bus. There has further arisen a need to provide a simple low-cost method for decoding messages that tolerates bus anomalies during high-speed communication.